package com.snopy.java8;

import lombok.val;

import java.util.function.Consumer;

/**
 * @author snopy
 * @version 1.0.0
 * @classname LambdaDemo
 * @description lambda表达式
 * 1.可选的参数类型
 * 2.可选的参数圆括号 -- 一个参数时可以不写圆括号，两个及以上时需要写
 * 3.可选的大括号 -- 如果主体包含了一个语句，就不需要写大括号
 * 4.可选的返回关键字 -- 如果主体只有一个表达式返回值则编译器会自动返回值，
 * @email 77912204@qq.com
 * @date 2022/04/09 21:46
 */
public class LambdaDemo {
    public static void main(String[] args) {
        /*TestDemo demo = (String name,String weather) -> {
            System.out.println(name+weather);
            sayWhy();
        return "name"+" "+weather;};
        TestDemo no_param2 = (name,weather) -> name+" : "+weather;
        demo.sayHi("snopy","summer");
        String s = no_param2.sayHi("snopy", "summer");
        System.out.println(s);*/
        new LambdaDemo().sayWhy();

    }
    public  void sayWhy(){
        val sc = (TestDemo) new TestInstanceDemo()::sayHi;
        String s = sc.sayHi("111111");
        System.out.println(s);
    }
}
